package agent.ccs

abstract class ParamType {
  def typeString: String
}

case class ActParamType extends ParamType {
  override
  def typeString = "act"
}

case class ActionSetParamType extends ParamType {
  override
  def typeString = "set"
}

case class AgentParamType extends ParamType {
  override
  def typeString = "agent"
}


object ParamType {
  
  // TODO(gustafa): Necessary? Cover all cases
  def makeParamType(id: String): ParamType = {
    id match {
      case "act" => new ActParamType
      case "set" => new ActionSetParamType
      case "agent" => new AgentParamType
    }
  }
}